/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.com.server.descubridor;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;

import co.com.cliente.descubridor.services.DescubridorS;
import co.com.entities.Descubridor;
import co.com.jpa.controllers.DescubridorJpaController;
import co.com.jpa.controllers.exceptions.NonexistentEntityException;
import co.com.jpa.controllers.exceptions.PreexistingEntityException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author ias
 */
public class DescubridorSImpl extends RemoteServiceServlet implements DescubridorS {

    public void guardarDescubrimiento(List<Descubridor> descubridores) {
        DescubridorJpaController descubridorJpaController = (DescubridorJpaController) getServletContext().getAttribute("descubridorJpaController");
        for (Descubridor descubridor : descubridores) {
            try {
                descubridorJpaController.create(descubridor);
            } catch (PreexistingEntityException ex) {
                Logger.getLogger(DescubridorSImpl.class.getName()).log(Level.SEVERE, null, ex);
            } catch (Exception ex) {
                Logger.getLogger(DescubridorSImpl.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }

    public void modificarDescubridor(Descubridor descubridor) {
        try {
            DescubridorJpaController descubridorJpaController = (DescubridorJpaController) getServletContext().getAttribute("descubridorJpaController");
            descubridorJpaController.edit(descubridor);
        } catch (NonexistentEntityException ex) {
            Logger.getLogger(DescubridorSImpl.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception ex) {
            Logger.getLogger(DescubridorSImpl.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    
    public List<Descubridor> getDescubrimientos(){
        DescubridorJpaController descubridorJpaController = (DescubridorJpaController) getServletContext().getAttribute("descubridorJpaController");
        return descubridorJpaController.findDescubridorEntities();
    }
    
    public void eliminarDescubridores(List<Descubridor> descubridores){
       DescubridorJpaController descubridorJpaController = (DescubridorJpaController) getServletContext().getAttribute("descubridorJpaController"); 
        for (Descubridor descubridor : descubridores) {
           try {
               descubridorJpaController.destroy(descubridor);
           } catch (NonexistentEntityException ex) {
               Logger.getLogger(DescubridorSImpl.class.getName()).log(Level.SEVERE, null, ex);
           }
        }
    }

    
}
